/*
 * FILE queue.h
 */

#ifndef __QUEUE_H__
#define __QUEUE_H__

#include "config.h"
#include "buffer.h" /* for bf_type*/

typedef struct _data {
    UINT32 bf_type;
    UINT32 bf_indx;
    UINT32 NI_indx;
    MAC_ADDR sr_mac;
    IP_ADDR src;
    IP_ADDR dst;

    PVOID  bf_start;
    UINT32 data_sz;
    UINT32 pay_type;
};


#define PAY_IP4_FAMILY  0xF00000000L
#define PAY_IP6_FAMILY  0xC00000000L

#define PAY_TYPE_NUL    0
#define PAY_TYPE_ARP    PAY_IP4_FAMILY + 1
#define PAY_TYPE_IP4    PAY_IP4_FAMILY + 2
#define PAY_TYPE_UDP4   PAY_IP4_FAMILY + 3
#define PAY_TYPE_TCP4   PAY_IP4_FAMILY + 4
#define PAY_TYPE_ICMP4  PAY_IP4_FAMILY + 5
#define PAY_TYPE_IGMP4  PAY_IP4_FAMILY + 6

#define PAY_TYPE_ip6    PAY_IP6_FAMILY + 1
#define PAY_TYPE_UDP6   PAY_IP6_FAMILY + 2 
#define PAY_TYPE_TCP6   PAY_IP6_FAMILY + 3
#define PAY_TYPE_ICMP6  PAY_IP6_FAMILY + 4

#endif /* end of __QUEUE_H__*/
